如何计算 Pandas Dataframe 列中的 NaN 出现的次数? | 您所在的位置:网站首页 › dataframe na › 如何计算 Pandas Dataframe 列中的 NaN 出现的次数? |
我们将介绍在 Pandas DataFrame 的一列中计算 NaN 出现次数的方法。我们有很多选择,包括针对一列或多列的isna()方法,通过从NaN出现次数中减去总长度,使用value_counts方法,以及使用df.isnull().sum()方法。 我们还将介绍计算整个 Pandas DataFrame 中NaN出现总数的方法。 1.isna() 方法来计算一列或多列中的 NaN 我们可以使用 insna() 方法(Pandas 版本> 0.21.0),然后求和以计算 NaN 的出现。对于一列,我们将执行以下操作: import pandas as pd s = pd.Series([ 1,2,3, np.nan, np.nan]) s.isna().sum() # or s.isnull().sum() for older pandas versions输出: 2对于几列,它也适用: import pandas as pd df = pd.DataFrame({ 'a':[1,2,np.nan], 'b':[np.nan,1,np.nan]}) df.isna().sum()输出: a 1 b 2 dtype: int642.从总长度中减去 non-NaN 的计数以计算 NaN 的出现次数 我们可以通过从 dataframe 的长度中减去非 Nan 出现的次数来获得每一列中 NaN 出现的次数: import pandas as pd df = pd.DataFrame([ (1,2,None), (None,4,None), (5,None,7), (5,None,None)], columns=['a','b','d'], index = ['A', 'B','C','D']) print(df) print(len(df)-df.count())输出: a b d A 1.0 2.0 NaN B NaN 4.0 NaN C 5.0 NaN 7.0 D 5.0 NaN NaN a 1 b 2 d 3 dtype: int643.df.isnull().sum() 方法来计算 NaN 的出现次数 我们可以使用df.isnull().sum()方法获得每一列中NaN出现的次数。如果我们在sum方法中传递了axis=0,它将给出每列中出现NaN的次数。如果需要在每行中出现NaN次,我们需要设置axis=1。 考虑以下代码: import pandas as pd df = pd.DataFrame( [(1,2,None), (None,4,None), (5,None,7), (5,None,None)], columns=['a','b','d'], index = ['A', 'B','C','D']) print('NaN occurrences in Columns:') print(df.isnull().sum(axis = 0)) print('NaN occurrences in Rows:') print(df.isnull().sum(axis = 1))输出: NaN occurrences in Columns: a 1 b 2 d 3 dtype: int64 NaN occurrences in Rows: A 1 B 2 C 1 D 2 dtype: int644.计算整个 Pandas DataFrame 中 NaN 的出现 为了获得在Dataframe中所有NaN出现的总数,我们将两个.sum()方法链接在一起: import pandas as pd df = pd.DataFrame( [(1,2,None), (None,4,None), (5,None,7), (5,None,None)], columns=['a','b','d'], index = ['A', 'B','C','D']) print('NaN occurrences in DataFrame:') print(df.isnull().sum().sum())输出: NaN occurrences in DataFrame: 6多动手,多练习,多理解,加油!!! 觉得不错的话,记得帮我 @小象点个赞哟,祝大家都能学有所获! python相关问题集锦 如何计算值在 Pandas DataFrame 中出现的频率? 如何从 Pandas DataFrame 单元格获取值? |
CopyRight 2018-2019 实验室设备网 版权所有 |